package com.wangjie.staticdemo;

public class StaticField {

    /*成员方法*/
    private String name;
    /*静态变量属于类 不属于对象 */
    private static int age;

    static {
        System.out.println("静态代码块运行 并且只会在类 第一次被调用时 执行一次，不调用类 不执行");
        String op = "科比";
    }

    /*静态方法*/
    public static void out(){
        System.out.println("输出static out");
        /*静态方法不能调非静态 原因：非静态在内存中优先于 成员方法出现 */
        //in();//错误写法
    }



    /*成员方法*/
    public void in(){
        System.out.println("输出in");
        out();
    }

    public StaticField(String name) {
        this.name = name;
    }



    public static void main(String[] args) {

        StaticField staticField = new StaticField("helo");
        staticField.age = 12;//编译之后 此行代码就是 age=12 属于类的静态变量
        StaticField staticField2 = new StaticField("world");
        System.out.println(staticField.name +";"+ staticField.age);
        System.out.println(staticField2.name +";"+ staticField2.age);
        age=13;
        System.out.println(staticField.name +";"+ staticField.age);
        System.out.println(staticField2.name +";"+ staticField2.age);
    }
}
